package andy.demo.parseXML.xml;

import java.io.InputStream;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import android.test.AndroidTestCase;
import android.util.Log;


public class TestSAX extends AndroidTestCase {

	public void testParse() throws Throwable {
		try {
			//得到SAX解析工厂
			SAXParserFactory spf = SAXParserFactory.newInstance();
			
			// 设置解析器的相关特性，http://xml.org/sax/features/namespaces = true 表示开启命名空间特性
			// saxParser.setProperty("http://xml.org/sax/features/namespaces",true);
			SAXParser saxParser = spf.newSAXParser(); // 创建解析器
			
			
			//得到SAX解析实现类
			XmlParser handler = new XmlParser();
			//将xml文件以输入流的形式读入到内存中。
			InputStream inStream = XmlParseActivity.class.getClassLoader().getResourceAsStream("person.xml");
			
			//开始解析
			saxParser.parse(inStream, handler);
			
			//关闭输入留
			inStream.close();
			
			//将得到的每个对象信息写入到日志中
			for(Person person : handler.getObjectListFromXML()) {
				Log.i("XmlParseActivity", person.toString());
			}
		} catch (Exception e) {
			
			e.printStackTrace();
		}
	}

}

